﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DTO;
using BUS;
namespace GUI
{
    public partial class thayDoiHoaDonHang : Form
    {
        public thayDoiHoaDonHang()
        {
            InitializeComponent();
        }

        
        private void thayDoiHoaDonHang_Load(object sender, EventArgs e)
        {
            List<DatChoDTO> lst = BUS.DatChoBUS.SelectAllDatCho();
            
            foreach (var i in lst)
            {
                cbmaKH.Items.Add(i.MAKH);
            }
            cbmaKH.SelectedIndex = 0;
            
        }

        private void cbmaKH_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                cbmaChuyen.DataSource = null;
                cbngayDi.Items.Clear();
                List<DatChoDTO> lst = BUS.DatChoBUS.SelectALLDatChobyKhachHang(cbmaKH.Text.Trim());

                cbmaChuyen.DataSource = lst;
                cbmaChuyen.DisplayMember = "MaChuyen";
                cbbsoHieu.DataSource = lst;
                cbbsoHieu.DisplayMember = "SoHieu";
                foreach (var i in lst)
                {
                    String date = i.NGAYDI.Day + "/" + i.NGAYDI.Month + "/" + i.NGAYDI.Year;
                    cbngayDi.Items.Add(date);
                }
                cbngayDi.SelectedIndex = 0;

                DatChoDTO dcDTO = BUS.DatChoBUS.SelectDatChobyPrimaryKey(cbmaKH.Text, cbmaChuyen.Text, cbngayDi.Text, cbbsoHieu.Text);
                lbsoLuongCuaKhachHang.Text = dcDTO.SOLUONG.ToString();
                LichDiDTO ldDTO = BUS.LichDiBUS.SelectLichDiByPrimaryKey(cbngayDi.Text, cbmaChuyen.Text, cbbsoHieu.Text);
                lbsoLuongCuaCaChuyen.Text = ldDTO.TTHIENTAI.ToString();
            }
            catch (ArgumentOutOfRangeException ex)
            {
                MessageBox.Show("Khang chua dang ky");
            }
        }

        private void btntang_Click(object sender, EventArgs e)
        {
            try
            {
                btntang.Enabled = btngiam.Enabled = false;
                int sl;
                if (int.TryParse(txtsoLuong.Text, out sl) == true)
                {
                    BUS.DatChoBUS.thayDoiHangHoa(cbmaKH.Text, cbmaChuyen.Text, cbngayDi.Text, sl, cbbsoHieu.Text);
                    MessageBox.Show("Cập nhật thành công");

                    DatChoDTO dcDTO = BUS.DatChoBUS.SelectDatChobyPrimaryKey(cbmaKH.Text, cbmaChuyen.Text, cbngayDi.Text, cbbsoHieu.Text);
                    lbsoLuongCuaKhachHang.Text = dcDTO.SOLUONG.ToString();
                    lbsoLuongCuaKhachHang.Text = dcDTO.SOLUONG.ToString();

                    LichDiDTO ldDTO = BUS.LichDiBUS.SelectLichDiByPrimaryKey(cbngayDi.Text, cbmaChuyen.Text, cbbsoHieu.Text);
                    lbsoLuongCuaCaChuyen.Text = ldDTO.TTHIENTAI.ToString();
                }
                else
                    MessageBox.Show("Nhập số lượng");
                btntang.Enabled = btngiam.Enabled = true;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void btngiam_Click(object sender, EventArgs e)
        {
            try
            {
                btntang.Enabled = btngiam.Enabled = false;
                int sl;
                if (int.TryParse(txtsoLuong.Text, out sl) == true)
                {
                    BUS.DatChoBUS.thayDoiHangHoa(cbmaKH.Text, cbmaChuyen.Text, cbngayDi.Text, -sl, cbbsoHieu.Text);
                    MessageBox.Show("Cập nhật thành công");

                    DatChoDTO dcDTO = BUS.DatChoBUS.SelectDatChobyPrimaryKey(cbmaKH.Text, cbmaChuyen.Text, cbngayDi.Text, cbbsoHieu.Text);
                    lbsoLuongCuaKhachHang.Text = dcDTO.SOLUONG.ToString();
                    lbsoLuongCuaKhachHang.Text = dcDTO.SOLUONG.ToString();

                    LichDiDTO ldDTO = BUS.LichDiBUS.SelectLichDiByPrimaryKey(cbngayDi.Text, cbmaChuyen.Text, cbbsoHieu.Text);
                    lbsoLuongCuaCaChuyen.Text = ldDTO.TTHIENTAI.ToString();
                }
                else
                    MessageBox.Show("Nhập số lượng");
                btntang.Enabled = btngiam.Enabled = true;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

       
    }
}
